package com.lion.ball.modules.orderfood.web.model.params.create;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author Chris Chan
 * Create on 2025-10-18 13:33
 * Use for: 订单 数据创建请求参数
 * Explain:
 * 
 */
@Schema(description = "订单 数据创建参数")
public class OfdOrderCreateParam {
    @Schema(description = "主键", example = "1")
    private long id;
    @Schema(description = "编码", example = "1")
    private long code;
    @Schema(description = "客户编码", example = "1")
    private long customerCode;
    @Schema(description = "总价", example = "1")
    private int amount;
    @Schema(description = "消费者备注者, 例如: 不要辣, 不要香菜等, 可以为空", example = "字符串")
    private String remarks;
    @Schema(description = "创建时间", example = "1")
    private long createTime;
    @Schema(description = "更新时间", example = "1")
    private long updateTime;
    @Schema(description = "是否删除 0 - 未删除 1 - 已删除", example = "1")
    private int isDeleted;

    // 无参构造方法
    public OfdOrderCreateParam() {
    }

    // 全参数构造方法
    public OfdOrderCreateParam(long id, long code, long customerCode, int amount, String remarks, long createTime, long updateTime, int isDeleted) {
        this.id = id;
        this.code = code;
        this.customerCode = customerCode;
        this.amount = amount;
        this.remarks = remarks;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.isDeleted = isDeleted;
    }

    // 全参数create生成器
    public static OfdOrderCreateParam create(long id, long code, long customerCode, int amount, String remarks, long createTime, long updateTime, int isDeleted) {
        return new OfdOrderCreateParam(id, code, customerCode, amount, remarks, createTime, updateTime, isDeleted);
    }

    // 全参数of生成器
    public static OfdOrderCreateParam of(long id, long code, long customerCode, int amount, String remarks, long createTime, long updateTime, int isDeleted) {
        return new OfdOrderCreateParam(id, code, customerCode, amount, remarks, createTime, updateTime, isDeleted);
    }
    // region Getter和Setter方法
    public long getId() {
        return id;
    }

    public OfdOrderCreateParam setId(long id) {
        this.id = id;
        return this;
    }

    public long getCode() {
        return code;
    }

    public OfdOrderCreateParam setCode(long code) {
        this.code = code;
        return this;
    }

    public long getCustomerCode() {
        return customerCode;
    }

    public OfdOrderCreateParam setCustomerCode(long customerCode) {
        this.customerCode = customerCode;
        return this;
    }

    public int getAmount() {
        return amount;
    }

    public OfdOrderCreateParam setAmount(int amount) {
        this.amount = amount;
        return this;
    }

    public String getRemarks() {
        return remarks;
    }

    public OfdOrderCreateParam setRemarks(String remarks) {
        this.remarks = remarks;
        return this;
    }

    public long getCreateTime() {
        return createTime;
    }

    public OfdOrderCreateParam setCreateTime(long createTime) {
        this.createTime = createTime;
        return this;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public OfdOrderCreateParam setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public int getIsDeleted() {
        return isDeleted;
    }

    public OfdOrderCreateParam setIsDeleted(int isDeleted) {
        this.isDeleted = isDeleted;
        return this;
    }

    // endregion Getter和Setter方法
}
